package cn.iocoder.yudao.module.ai.controller.admin.operationreceivemessage.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 终端推送消息日志新增/修改 Request VO")
@Data
public class OperationReceiveMessageSaveReqVO {

    @Schema(description = "自增编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24047")
    private Long id;

    @Schema(description = "消息类型，1 算力监控，2 场景监测，3 报警中心", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "消息类型，1 算力监控，2 场景监测，3 报警中心不能为空")
    private Integer type;

    @Schema(description = "供应商id", example = "5344")
    private Long suplierId;

    @Schema(description = "接收时间")
    private LocalDateTime receiveTime;

    @Schema(description = "处理状态 0 未处理，1 处理成功，2 处理失败", example = "1")
    private Integer handleStatus;

    @Schema(description = "处理记录")
    private String handleMsg;

    @Schema(description = "来校来源ip地址")
    private String fromIp;

    @Schema(description = "其他信息")
    private String otherParam;

    @Schema(description = "唯一请求码", example = "14610")
    private String paramAppid;

    @Schema(description = "消息内容")
    private String paramData;

    @Schema(description = "业务类型 AlARM101 报警数据；算力相关设备 EQU102；SCENE103 场景推送")
    private String paramTranscode;

    @Schema(description = "参数 推送时间")
    private String paramReqtime;

    @Schema(description = "参数签名")
    private String paramSign;

    @Schema(description = "解密后的数据")
    private String dataDecrypt;

    @Schema(description = "对应公司编号", example = "9957")
    private String companyId;

}